Benjamin Otte [Wed, 16 Dec 2015 15:28:34 +0000 (16:28 +0100)]
widget-factory: Make things compile again
1e1064398c7607d197c563c42f8901ac67982a9f broke the build.
When I run make, I should make sure to run it in the right directory.
And not in the gtk/ subdirectory that will never build widget-factory...
Benjamin Otte [Wed, 16 Dec 2015 14:43:05 +0000 (15:43 +0100)]
widget-factory: Disconnect clipboard watcher on close
The clipboard emit events after the button we connected it to was
already destroyed (on application close for example), so make sure we
don't try to use that dead button.
Olivier Fourdan [Mon, 14 Dec 2015 15:34:00 +0000 (16:34 +0100)]
wayland: Check transient loop
Gdk Wayland backend walks up the transient windows tree, but does not
check for cycles when doing so.
As a result, if two or more windows are transient to each other, the
Wayland gdk backend will enter an infinite loop.
While this is clearly a bug in the application, gtk+/gdk should be more
robust and handle such errors more gracefully.
To avoid looping infinitely at various point in the code, check for a
possible loop when setting the transient relationship and deny the
request to set a window transient for another if that would create a
loop.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=759299
Emmanuele Bassi [Wed, 16 Dec 2015 12:42:27 +0000 (12:42 +0000)]
Fix the fix to the last commit
I should not push while compilation is still going on
Emmanuele Bassi [Wed, 16 Dec 2015 12:41:16 +0000 (12:41 +0000)]
Fix previous commit
The scale parameter was missing.
Lars Uebernickel [Wed, 9 Dec 2015 16:48:26 +0000 (17:48 +0100)]
gdk_pixbuf_get_from_window: honor device scale
gdk_pixbuf_get_from_window() paints the given window onto a new cairo
surface. Create that new surface with the same device scale as the
window so that the result is not scaled down on hidpi screens.
This is similar to
657a43e (which was reverted), but doesn't modify the
behavior of gdk_pixbuf_get_from_surface().
https://bugzilla.gnome.org/show_bug.cgi?id=757147
Bastien Nocera [Wed, 16 Dec 2015 11:20:47 +0000 (12:20 +0100)]
shortcuts: Make sure that hidden shortcuts stay hidden
When doing a gtk_widget_show_all() on the shortcuts window,
accelerators for both RTL and LTR directions are being shown.
Make sure that no-show-all is set by default on hidden shortcuts, and
updated if the widget direction changes.
https://bugzilla.gnome.org/show_bug.cgi?id=759541
Matthias Clasen [Wed, 16 Dec 2015 03:01:46 +0000 (22:01 -0500)]
3.19.5
Matthias Clasen [Wed, 16 Dec 2015 04:55:23 +0000 (23:55 -0500)]
paned: Initialize clip properly
This was causing problems in the case when only one of the paned
children is visible - we would use uninitialized memory, leading
to invalide clip regions. Concretely, the signal tab in the inspector
would sometimes not render at all.
Benjamin Otte [Wed, 16 Dec 2015 04:15:04 +0000 (05:15 +0100)]
renderborder: Actually draw the path as one element
Avoids spurious lines that can sometimes be seen going towards the
center of the widget.
Benjamin Otte [Wed, 16 Dec 2015 03:44:52 +0000 (04:44 +0100)]
builtinicon: Change the way size is handled
Make min-width/height have preference over the set default size. This
allows shrinking the widget. The default size is only used if min-width
is not set (or explicitly set to 0.
Benjamin Otte [Wed, 16 Dec 2015 03:08:08 +0000 (04:08 +0100)]
gadget: Add builtin icon gadget
This is to be used in all the places where we now call
gtk_render_activity()/option()/check() etc that in turn call the icon
render function.
Benjamin Otte [Wed, 16 Dec 2015 01:15:20 +0000 (02:15 +0100)]
rendericon: Move a function
The function is identical if used for builtin icons and regular icons
(as per iconhelper). So split it out in a way that doesn't assume
either.
Matthias Clasen [Wed, 16 Dec 2015 02:06:53 +0000 (21:06 -0500)]
paned: Allocate the handle input area properly
Drop the margin misuse and use the border allocation of the
handle gadget. We use negative margins to make the border allocation
larger without pushing the paned children out.
Matthias Clasen [Wed, 16 Dec 2015 02:55:22 +0000 (21:55 -0500)]
gadget: Add api to get the border allocation
This can be useful for giving input windows the right size.
Matthias Clasen [Wed, 16 Dec 2015 01:18:59 +0000 (20:18 -0500)]
paned: Fix size allocation
We were passing negative widths to height-for-width calls that
didn't expect this.
Benjamin Otte [Wed, 16 Dec 2015 00:44:07 +0000 (01:44 +0100)]
progressbar: Change the way the progress gadget gets size
Size of the progress element now grows also when it's close to 0 size.
Previously the size was clamped to the minimum size, now it starts
growing from the minimum size.
So for a 100px trough with a 10px min size progress, the sizes of the
progress element change like this:
old new
0% 10 10
5% 10 14
10% 10 19
20% 20 28
50% 50 55
100% 100 100
Benjamin Otte [Tue, 15 Dec 2015 20:23:59 +0000 (21:23 +0100)]
cssimage: Handle 0x0 images
0x0 images can happen when we fail to load an image - or when we
successfully load a 0x0 image.
Benjamin Otte [Tue, 15 Dec 2015 15:03:25 +0000 (16:03 +0100)]
stylecontext: Builtin images can be (and are) transformed
So don't special-case them out.
Benjamin Otte [Tue, 15 Dec 2015 13:52:17 +0000 (14:52 +0100)]
css: Move enum
I want to use it for a gadget, so it's better in the generic file.
Matthias Clasen [Wed, 16 Dec 2015 00:45:35 +0000 (19:45 -0500)]
Really undo the deprecation of separator style properties
I hit the wrong one in the previous commit. For good measure,
undo depecation for all separator-related style properties.
They are still in use.
Matthias Clasen [Wed, 16 Dec 2015 00:39:57 +0000 (19:39 -0500)]
shortcuts: Fix the circular stack switcher
The buttons need to set min-width now, to make this work.
Matthias Clasen [Tue, 15 Dec 2015 23:52:17 +0000 (18:52 -0500)]
Undo deprecation of the wide-separators style property
This was premature, as this style property is still used
by GtkTreeView and GtkMenu.
Piotr Drąg [Wed, 16 Dec 2015 00:09:00 +0000 (01:09 +0100)]
Updated POTFILES.skip
Matthias Clasen [Tue, 15 Dec 2015 23:40:51 +0000 (18:40 -0500)]
shortcuts: Fix view filtering
When adding invisible groups to the pages/columns, we were
mistakenly creating new columns because the row count
stayed at zero.
https://bugzilla.gnome.org/show_bug.cgi?id=759517
Matthias Clasen [Tue, 15 Dec 2015 23:39:39 +0000 (18:39 -0500)]
gtk-demo: Add another shortcuts window example
The boxes shortcuts, taken straight from boxes.
This demonstrates a problem with view filtering.
Matthias Clasen [Tue, 15 Dec 2015 23:14:16 +0000 (18:14 -0500)]
gadget: Fix a thinko in baseline adjustment
We are making the allocation smaller, so the baseline
needs to get smaller too, not bigger.
Carlos Garnacho [Tue, 15 Dec 2015 22:24:59 +0000 (23:24 +0100)]
gdkevents: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated.
Carlos Garnacho [Tue, 15 Dec 2015 22:22:00 +0000 (23:22 +0100)]
GdkWindow: Listen to ::seat-removed in order to remove pointer info
Our actions on ::device-removed only actually applied to master
pointers, so listening to GdkDisplay::seat-removed and operating
on the seat pointer is equivalent.
Carlos Garnacho [Tue, 15 Dec 2015 22:20:40 +0000 (23:20 +0100)]
GdkWindow: Iterate through seats in gdk_window_set_cursor()
And set the pointer on all seat pointers, equivalent to the master
pointer lookup we were performing with GdkDeviceManager
Carlos Garnacho [Tue, 15 Dec 2015 22:19:49 +0000 (23:19 +0100)]
GdkWindow: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:18:10 +0000 (23:18 +0100)]
gtkdnd: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:53 +0000 (23:17 +0100)]
GtkPlug: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:37 +0000 (23:17 +0100)]
GtkTooltip: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:22 +0000 (23:17 +0100)]
GtkTreeView: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:17:07 +0000 (23:17 +0100)]
GtkWidget: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Carlos Garnacho [Tue, 15 Dec 2015 22:16:11 +0000 (23:16 +0100)]
GtkWindow: Avoid gdk_device_manager_get_client_pointer()
It's now deprecated
Matthias Clasen [Tue, 15 Dec 2015 20:10:08 +0000 (15:10 -0500)]
flowbox: Don't render focus erroneously
The gadget render function should only return TRUE if the
widget has the focus, and wants it rendered.
Carlos Soriano [Tue, 15 Dec 2015 14:56:46 +0000 (15:56 +0100)]
gtkplacesviewrow: plural form for available space
We were not supporting plural form of the available space, which
is a problem in some languages.
However in this case is kind of a difficult matter, since we use a
formatted string from glib with g_format_size.
To fix it, use the same behavior as g_format_size to decide when
it should be used a plural form or not.
https://bugzilla.gnome.org/show_bug.cgi?id=759491
Matthias Clasen [Tue, 15 Dec 2015 19:12:30 +0000 (14:12 -0500)]
listbox: Fix an oversight in the row gadget conversion
Matthias Clasen [Tue, 15 Dec 2015 19:06:11 +0000 (14:06 -0500)]
Add some more updates
Matthias Clasen [Tue, 15 Dec 2015 18:14:49 +0000 (13:14 -0500)]
modelbutton: Remove debug spew
Matthias Clasen [Tue, 15 Dec 2015 15:55:40 +0000 (10:55 -0500)]
Updates for 3.19.5
William Hua [Thu, 22 Oct 2015 03:36:50 +0000 (23:36 -0400)]
gdkborder: add GdkBorder to gdktypes.h
William Hua [Wed, 23 Sep 2015 17:16:31 +0000 (13:16 -0400)]
gdkwindow: move GdkWindowTypeHint to gdktypes.h
Matthias Clasen [Tue, 15 Dec 2015 15:00:21 +0000 (10:00 -0500)]
gdk: Add gdk_drag_drop_done to the docs
Matthias Clasen [Tue, 15 Dec 2015 14:48:16 +0000 (09:48 -0500)]
Complete docs for gtk_stack_get_interpolate_size
Matthias Clasen [Tue, 15 Dec 2015 11:49:35 +0000 (06:49 -0500)]
paned: Add a deprecation note
Matthias Clasen [Tue, 15 Dec 2015 11:29:30 +0000 (06:29 -0500)]
checkbutton: Remove dead code
Matthias Clasen [Tue, 15 Dec 2015 11:27:52 +0000 (06:27 -0500)]
button box: Deprecate style properties
These can all be replaced by standard CSS properties.
Matthias Clasen [Sun, 13 Dec 2015 00:41:40 +0000 (19:41 -0500)]
flowbox: convert to gadgets
Matthias Clasen [Thu, 10 Dec 2015 06:39:26 +0000 (01:39 -0500)]
flowbox: Convert child to gadgets
Matthias Clasen [Sat, 12 Dec 2015 04:48:34 +0000 (23:48 -0500)]
listbox: Convert to gadgets
Matthias Clasen [Thu, 10 Dec 2015 05:43:58 +0000 (00:43 -0500)]
listbox: Convert rows to gadgets
Matthias Clasen [Wed, 9 Dec 2015 05:17:51 +0000 (00:17 -0500)]
paned: Convert to gadgets
Matthias Clasen [Wed, 9 Dec 2015 04:03:38 +0000 (23:03 -0500)]
stack: Convert to gadgets
Matthias Clasen [Wed, 9 Dec 2015 02:43:16 +0000 (21:43 -0500)]
Adwaita: Update separator toolitem styling
Don't set a background for these, since we now draw background.
Matthias Clasen [Wed, 9 Dec 2015 02:14:00 +0000 (21:14 -0500)]
separator toolitem: Convert to gadgets
Matthias Clasen [Tue, 8 Dec 2015 21:51:21 +0000 (16:51 -0500)]
css node: Warn more
gtk_css_node_insert_before/after can easily create cycles
which later lead to stack overflows. Even if we're not
catching all cycles here, at least we can detect obviously
invalid arguments, such as inserting a node next to itself.
Matthias Clasen [Tue, 15 Dec 2015 05:10:16 +0000 (00:10 -0500)]
Adwaita: Remove nonsensical expander theming
No red backgrounds, please.
Matthias Clasen [Tue, 8 Dec 2015 15:04:03 +0000 (10:04 -0500)]
expander: Convert to gadgets
As part of the conversion, add another CSS node for the title
area including the arrow and the label.
Matthias Clasen [Tue, 8 Dec 2015 03:57:34 +0000 (22:57 -0500)]
revealer: Add CSS node docs
Matthias Clasen [Tue, 8 Dec 2015 03:11:52 +0000 (22:11 -0500)]
stackswitcher: Stop hardcoding 100px width
We can now set a min-width in the theme, so we don't have to
hardcode the size request here anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=726371
Matthias Clasen [Sun, 6 Dec 2015 19:27:40 +0000 (14:27 -0500)]
gadget: Add some documentation
Matthias Clasen [Sun, 6 Dec 2015 06:53:29 +0000 (01:53 -0500)]
box: Trivial doc change
All the CSS sections are named CSS nodes, so do the same here.
Matthias Clasen [Sun, 6 Dec 2015 06:52:45 +0000 (01:52 -0500)]
grid: Convert to gadgets
Matthias Clasen [Sun, 6 Dec 2015 04:59:38 +0000 (23:59 -0500)]
headerbar: Convert to gadgets
Matthias Clasen [Sun, 6 Dec 2015 04:10:52 +0000 (23:10 -0500)]
actionbar: Convert to gadgets
This is a nice example of a trivial container conversion.
Matthias Clasen [Tue, 15 Dec 2015 04:35:45 +0000 (23:35 -0500)]
Adwaita: No padding for image buttons in popovers
Matthias Clasen [Sat, 5 Dec 2015 06:42:41 +0000 (01:42 -0500)]
modelbutton: Port to gadgets
Matthias Clasen [Fri, 4 Dec 2015 12:52:18 +0000 (07:52 -0500)]
gadget: Be more forgiving to size inconsistencies
Instead of asserting if we hit negative content sizes,
warn and continue. This is easier to work with in this
transition period.
Matthias Clasen [Tue, 15 Dec 2015 02:43:20 +0000 (21:43 -0500)]
radiobutton: Port radio buttons to gadgets
This was already mostly done by inheritance from GtkCheckButton.
To complete it, stop using the draw_indicator vfunc for radio
buttons, and instead make the indicator gadget draw either a
check or radio.
Matthias Clasen [Fri, 4 Dec 2015 05:34:52 +0000 (00:34 -0500)]
check button: Convert to gadgets
Use a gadget for the button, and for the indicator.
A complication here is that GtkCheckButton (and
GtkRadioButton) have a totally different appearance
depending on the ::draw-indicator property. If an
indicator is not required, we just reuse the
GtkButton gadget.
This mostly works; some minor sizing issues left, e.g. cranking
up the indicator-size causes the checkbutton grid in testgtk
to overlap.
Matthias Clasen [Fri, 4 Dec 2015 02:56:25 +0000 (21:56 -0500)]
button: Convert to gadgets
Matthias Clasen [Thu, 3 Dec 2015 19:22:50 +0000 (14:22 -0500)]
label: Convert to gadgets
This removes some hairy code handling with borders and padding,
which may or may not be correct. The examples in testheightforwidth
all continue to work, and min-width now works for labels.
Matthias Clasen [Mon, 14 Dec 2015 21:10:54 +0000 (16:10 -0500)]
Adwaita: Update color swatch styling
The adjustments here are provisional and need an artistic eye.
Matthias Clasen [Mon, 14 Dec 2015 21:10:28 +0000 (16:10 -0500)]
colorswatch: Convert to gadgets
Use gadgets for the widget and the overlay.
Matthias Clasen [Mon, 14 Dec 2015 20:57:38 +0000 (15:57 -0500)]
widget: Deprecate some style properties
Deprecate the ::wide-separators and ::separator-width/height
style properties.
Matthias Clasen [Mon, 14 Dec 2015 20:56:56 +0000 (15:56 -0500)]
Adwaita: Update separator styling
Separators no longer draw a line with the foreground color,
but instead just draw background.
Matthias Clasen [Mon, 14 Dec 2015 20:56:29 +0000 (15:56 -0500)]
separator: port to gadgets
As part of this, stop using custom rendering code for wide
and non-wide separators.
Matthias Clasen [Thu, 26 Nov 2015 19:59:57 +0000 (14:59 -0500)]
spinner: Use a gadget
This gives us min-width/height support. Currently, the spinner
still has a hardcoded minimum size of 16 and doesn't grow beyond
32. We may want to revisit that at some point.
Matthias Clasen [Tue, 24 Nov 2015 12:22:52 +0000 (07:22 -0500)]
progressbar: Convert to gadgets
Use gadgets for the text, the trough and the progress.
Benjamin Otte [Mon, 14 Dec 2015 04:29:35 +0000 (05:29 +0100)]
iconhelper: Queue resize on invalidation
When things change in the iconhelper, queue a resize on the owner widget
so that it automatically resizes.
Only do this for iconhelpers that are used as gadgets though, not for
temporary helpers - and to check this, check if the node is transient.
Benjamin Otte [Mon, 14 Dec 2015 04:22:08 +0000 (05:22 +0100)]
entry: Turn icons into gadgets
Benjamin Otte [Fri, 20 Nov 2015 00:17:06 +0000 (01:17 +0100)]
spinbutton: Port the buttons to gadgets
Benjamin Otte [Mon, 14 Dec 2015 03:00:31 +0000 (04:00 +0100)]
iconhelper: Finish gadget conversion
Implement missing vfuncs
Benjamin Otte [Mon, 14 Dec 2015 01:33:21 +0000 (02:33 +0100)]
rendericon: Restore cairo matrix after rendering
Benjamin Otte [Fri, 11 Dec 2015 14:12:19 +0000 (15:12 +0100)]
iconhelper: Handle invalidation
When CSS, direction or scale factor change, handle the invalidation
inside the iconhelper.
This way the widgets using them don't have to.
Benjamin Otte [Wed, 9 Dec 2015 17:32:05 +0000 (18:32 +0100)]
iconhelper: Use the gadget's node
... instead of looking at the widget's style context.
This removes all calls to the style context.
Benjamin Otte [Wed, 9 Dec 2015 17:25:36 +0000 (18:25 +0100)]
iconhelper: Require passing a cssnode to the constructor
Note that we don't use it yet.
Benjamin Otte [Wed, 9 Dec 2015 13:07:07 +0000 (14:07 +0100)]
iconhelper: Use the gadget's owner property
Don't keep the owner widget ourselves.
Benjamin Otte [Wed, 9 Dec 2015 13:01:46 +0000 (14:01 +0100)]
iconhelper: Turn into gadget
This is just the basic conversion to inheriting from
GTK_TYPE_CSS_GADGET.
Matthias Clasen [Tue, 17 Nov 2015 03:55:01 +0000 (22:55 -0500)]
image: Port to gadgets
Benjamin Otte [Wed, 18 Nov 2015 00:47:53 +0000 (01:47 +0100)]
box: Port to gadgets
Benjamin Otte [Wed, 18 Nov 2015 00:47:16 +0000 (01:47 +0100)]
container: Split out a function
Computing the clip for all children is something I want to do in other
places.
Benjamin Otte [Mon, 9 Mar 2015 05:16:50 +0000 (06:16 +0100)]
switch: Port to gadgets
Benjamin Otte [Wed, 9 Sep 2015 17:15:01 +0000 (19:15 +0200)]
gadget: Add GtkCssCustomGadget
The thing you use when you want to custom-do everything.
Benjamin Otte [Tue, 8 Sep 2015 22:13:11 +0000 (00:13 +0200)]
gadget: Add the concept of a "gadget"
A gadget is halfway between a widget and a CSS node. It's supposed to
provide the minimum convenicence around CSS nodes until we've figured
out how to integrate them with widgets.
Benjamin Otte [Thu, 13 Dec 2012 02:10:25 +0000 (03:10 +0100)]
css: Add min-width/height CSS properties
Benjamin Otte [Wed, 9 Dec 2015 17:20:06 +0000 (18:20 +0100)]
treeview: Reposition dnd button css node properly
After the drag ends, the button node went to the wrong place and then
looked like a regular button. Fix that.